<!DOCTYPE html>
<html lang="zh-CN">
    <head>
	<meta name="generator" content="Hugo 0.86.0" />
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <meta name="robots" content="noodp" />
        <title>L_B__</title><meta name="referrer" content="no-referrer">
<meta name="description" content="专注记笔记"><meta property="og:title" content="L_B__" />
<meta property="og:description" content="专注记笔记" />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://acking-you.github.io/" /><meta property="og:image" content="https://acking-you.github.io/logo.png"/>

<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="https://acking-you.github.io/logo.png"/>

<meta name="twitter:title" content="L_B__"/>
<meta name="twitter:description" content="专注记笔记"/>
<meta name="application-name" content="FeelIt">
<meta name="apple-mobile-web-app-title" content="FeelIt"><meta name="theme-color" content="#ffffff"><meta name="msapplication-TileColor" content="#da532c"><link rel="canonical" href="https://acking-you.github.io/" /><link rel="alternate" href="/index.xml" type="application/rss+xml" title="L_B__">
    <link rel="feed" href="/index.xml" type="application/rss+xml" title="L_B__"><link rel="stylesheet" href="/css/home.min.css"><script type="application/ld+json">
    {
        "@context": "http://schema.org",
        "@type": "WebSite",
        "url": "https:\/\/acking-you.github.io\/","inLanguage": "zh-CN","description": "专注记笔记","name": "L_B__"
    }
    </script></head><body data-header-desktop="auto" data-header-mobile="auto"><script>(window.localStorage && localStorage.getItem('theme') ? localStorage.getItem('theme') === 'dark' : ('auto' === 'auto' ? window.matchMedia('(prefers-color-scheme: dark)').matches : 'auto' === 'dark')) && document.body.setAttribute('theme', 'dark');</script>

        <div id="mask"></div><div class="wrapper"><header class="desktop" id="header-desktop">
    <div class="header-wrapper">
        <div class="header-title">
            <a href="/" title="L_B__">L_B__</a>
        </div>
        <div class="menu">
            <div class="menu-inner"><a class="menu-item" href="/posts/"> 文章 </a><a class="menu-item" href="/tags/"> 标签 </a><a class="menu-item" href="/categories/"> 分类 </a><span class="menu-item delimiter"></span><span class="menu-item search" id="search-desktop">
                        <input type="text" placeholder="搜索文章标题或内容..." id="search-input-desktop">
                        <a href="#" class="search-button search-toggle" id="search-toggle-desktop" title="搜索">
                            <i class="fas fa-search fa-fw"></i>
                        </a>
                        <a href="#" class="search-button search-clear" id="search-clear-desktop" title="清空">
                            <i class="fas fa-times-circle fa-fw"></i>
                        </a>
                        <span class="search-button search-loading" id="search-loading-desktop">
                            <i class="fas fa-spinner fa-fw fa-spin"></i>
                        </span>
                    </span><a href="javascript:void(0);" class="menu-item theme-switch" title="切换主题">
                    <i class="fas fa-adjust fa-fw"></i>
                </a>
            </div>
        </div>
    </div>
</header><header class="mobile" id="header-mobile">
    <div class="header-container">
        <div class="header-wrapper">
            <div class="header-title">
                <a href="/" title="L_B__">L_B__</a>
            </div>
            <div class="menu-toggle" id="menu-toggle-mobile">
                <span></span><span></span><span></span>
            </div>
        </div>
        <div class="menu" id="menu-mobile"><div class="search-wrapper">
                    <div class="search mobile" id="search-mobile">
                        <input type="text" placeholder="搜索文章标题或内容..." id="search-input-mobile">
                        <a href="#" class="search-button search-toggle" id="search-toggle-mobile" title="搜索">
                            <i class="fas fa-search fa-fw"></i>
                        </a>
                        <a href="#" class="search-button search-clear" id="search-clear-mobile" title="清空">
                            <i class="fas fa-times-circle fa-fw"></i>
                        </a>
                        <span class="search-button search-loading" id="search-loading-mobile">
                            <i class="fas fa-spinner fa-fw fa-spin"></i>
                        </span>
                    </div>
                    <a href="#" class="search-cancel" id="search-cancel-mobile">
                        取消
                    </a>
                </div><a class="menu-item" href="/posts/" title="">文章</a><a class="menu-item" href="/tags/" title="">标签</a><a class="menu-item" href="/categories/" title="">分类</a><div class="menu-item"><a href="javascript:void(0);" class="theme-switch" title="切换主题">
                    <i class="fas fa-adjust fa-fw"></i>
                </a>
            </div></div>
    </div>
</header><div class="search-dropdown desktop">
    <div id="search-dropdown-desktop"></div>
</div>
<div class="search-dropdown mobile">
    <div id="search-dropdown-mobile"></div>
</div><main class="main">
                <div class="container"><div class="page home" data-home="posts"><div class="home-profile"><div class="home-avatar"><a href="/posts/" title="文章"><img
        class="lazyload"
        src="/svg/loading.min.svg"
        data-src="https://img-blog.csdnimg.cn/9fa00f1b7e4947588dc2e9788485129c.jpeg"
        data-srcset="https://img-blog.csdnimg.cn/9fa00f1b7e4947588dc2e9788485129c.jpeg, https://img-blog.csdnimg.cn/9fa00f1b7e4947588dc2e9788485129c.jpeg 1.5x, https://img-blog.csdnimg.cn/9fa00f1b7e4947588dc2e9788485129c.jpeg 2x"
        data-sizes="auto"
        alt="https://img-blog.csdnimg.cn/9fa00f1b7e4947588dc2e9788485129c.jpeg"
        title="https://img-blog.csdnimg.cn/9fa00f1b7e4947588dc2e9788485129c.jpeg" /></a></div><h1 class="home-title"><div style='color: rgb(153, 153, 153)'>学习如逆水行舟，不进则退！</div></h1><div class="home-subtitle"><div id="id-1" class="typeit"></div></div><div class="links"><a href="https://github.com/ACking-you" title="GitHub" target="_blank" rel="noopener noreffer me"><i class="fab fa-github-alt fa-fw"></i></a><a href="https://space.bilibili.com/24264499" title="bilibili" target="_blank" rel="noopener noreffer me"><i data-svg-src="/lib/simple-icons/icons/bilibili.min.svg"></i></a></div></div>
<div class="summary-card"><article class="summary" itemscope itemtype="http://schema.org/Article" ><div class="featured-image-preview">
            <a href="/posts/jwt/"><img
        class="lazyload"
        src="/svg/loading.min.svg"
        data-src="https://img-blog.csdnimg.cn/img_convert/6a656bf83ac631cc9afaeaef07661809.png#pic_center"
        data-srcset="https://img-blog.csdnimg.cn/img_convert/6a656bf83ac631cc9afaeaef07661809.png#pic_center, https://img-blog.csdnimg.cn/img_convert/6a656bf83ac631cc9afaeaef07661809.png#pic_center 1.5x, https://img-blog.csdnimg.cn/img_convert/6a656bf83ac631cc9afaeaef07661809.png#pic_center 2x"
        data-sizes="auto"
        alt="https://img-blog.csdnimg.cn/img_convert/6a656bf83ac631cc9afaeaef07661809.png#pic_center"
        title="jwt" /></a>
        </div><h2 class="single-title" itemprop="name headline">
        <a href="/posts/jwt/">【项目必会】用户鉴权是什么？jwt是什么？ | 青训营笔记</a>
    </h2><div class="post-meta"><span class="post-author"><a href="/" title="Author" rel=" author" class="author"><i class="fas fa-user-circle fa-fw"></i>作者</a></span>&nbsp;<span class="post-publish">发布于 <time datetime="2022-05-17">2022-05-17</time></span>&nbsp;<span class="post-category">包括在 <a href="/categories/%E9%9D%92%E8%AE%AD%E8%90%A5%E7%AC%94%E8%AE%B0/"><i class="far fa-folder fa-fw"></i>青训营笔记</a></span></div><a class="content" href="/posts/jwt/">这是我参与「第三届青训营 -后端场」笔记创作活动的的第四篇笔记。 由于最近14周忙的焦头烂额，所以一直没有时间写笔记，而且也很久没有认真看青训营</a><div class="post-footer"><ul class="post-tags"><li><a href="/tags/%E7%94%A8%E6%88%B7%E9%89%B4%E6%9D%83%E6%98%AF%E4%BB%80%E4%B9%88jwt%E6%98%AF%E4%BB%80%E4%B9%88/">用户鉴权是什么？jwt是什么？</a></li></ul></div>
</article>
<article class="summary" itemscope itemtype="http://schema.org/Article" ><div class="featured-image-preview">
            <a href="/posts/%E4%B8%80%E6%96%87%E8%BF%9B%E5%85%A5javaweb/"><img
        class="lazyload"
        src="/svg/loading.min.svg"
        data-src="https://img-blog.csdnimg.cn/img_convert/8db816efd6abe83538c4d47108d9c840.png#pic_center"
        data-srcset="https://img-blog.csdnimg.cn/img_convert/8db816efd6abe83538c4d47108d9c840.png#pic_center, https://img-blog.csdnimg.cn/img_convert/8db816efd6abe83538c4d47108d9c840.png#pic_center 1.5x, https://img-blog.csdnimg.cn/img_convert/8db816efd6abe83538c4d47108d9c840.png#pic_center 2x"
        data-sizes="auto"
        alt="https://img-blog.csdnimg.cn/img_convert/8db816efd6abe83538c4d47108d9c840.png#pic_center"
        title="一文进入JavaWeb后端" /></a>
        </div><h2 class="single-title" itemprop="name headline">
        <a href="/posts/%E4%B8%80%E6%96%87%E8%BF%9B%E5%85%A5javaweb/">一文进入JavaWeb后端</a>
    </h2><div class="post-meta"><span class="post-author"><a href="/" title="Author" rel=" author" class="author"><i class="fas fa-user-circle fa-fw"></i>作者</a></span>&nbsp;<span class="post-publish">发布于 <time datetime="2022-05-13">2022-05-13</time></span>&nbsp;<span class="post-category">包括在 <a href="/categories/javaweb%E7%AC%94%E8%AE%B0/"><i class="far fa-folder fa-fw"></i>JavaWeb笔记</a></span></div><a class="content" href="/posts/%E4%B8%80%E6%96%87%E8%BF%9B%E5%85%A5javaweb/">前端基础 整个前端基础详细介绍看下面这个链接，这里直接讲里面的实践。 前端基础 css实践编写一个漂亮的登录界面 html文件 &lt;!DOCTYPE html&gt; &lt;html lang=&#34;en&#34;&gt; &lt;head&gt; &lt;meta charset=&#34;UTF-8&#34;&gt; &lt;meta http-equiv=&#34;X-UA-Compatible&#34; content=&#34;IE=edge&#34;&gt; &lt;meta</a><div class="post-footer"><ul class="post-tags"><li><a href="/tags/%E4%B8%80%E6%96%87%E8%BF%9B%E5%85%A5javaweb%E5%90%8E%E7%AB%AF/">一文进入JavaWeb后端</a></li></ul></div>
</article>
<article class="summary" itemscope itemtype="http://schema.org/Article" ><div class="featured-image-preview">
            <a href="/posts/%E5%89%8D%E7%AB%AF%E5%9F%BA%E7%A1%80/"><img
        class="lazyload"
        src="/svg/loading.min.svg"
        data-src="https://img-blog.csdnimg.cn/img_convert/526441b9fa37b831c54f8b76bf498cca.png#pic_center"
        data-srcset="https://img-blog.csdnimg.cn/img_convert/526441b9fa37b831c54f8b76bf498cca.png#pic_center, https://img-blog.csdnimg.cn/img_convert/526441b9fa37b831c54f8b76bf498cca.png#pic_center 1.5x, https://img-blog.csdnimg.cn/img_convert/526441b9fa37b831c54f8b76bf498cca.png#pic_center 2x"
        data-sizes="auto"
        alt="https://img-blog.csdnimg.cn/img_convert/526441b9fa37b831c54f8b76bf498cca.png#pic_center"
        title="前端基础" /></a>
        </div><h2 class="single-title" itemprop="name headline">
        <a href="/posts/%E5%89%8D%E7%AB%AF%E5%9F%BA%E7%A1%80/">前端基础</a>
    </h2><div class="post-meta"><span class="post-author"><a href="/" title="Author" rel=" author" class="author"><i class="fas fa-user-circle fa-fw"></i>作者</a></span>&nbsp;<span class="post-publish">发布于 <time datetime="2022-05-13">2022-05-13</time></span>&nbsp;<span class="post-category">包括在 <a href="/categories/javaweb%E7%AC%94%E8%AE%B0/"><i class="far fa-folder fa-fw"></i>JavaWeb笔记</a></span></div><a class="content" href="/posts/%E5%89%8D%E7%AB%AF%E5%9F%BA%E7%A1%80/">前端基础 本章节会讲解前端基础内容（如果已经学习过，可以直接跳到下一个大章节了）那么什么是前端，什么又是后端呢？ 前端：我们网站的页面，包括网站</a><div class="post-footer"><ul class="post-tags"><li><a href="/tags/%E5%89%8D%E7%AB%AF%E5%9F%BA%E7%A1%80/">前端基础</a></li></ul></div>
</article>
<article class="summary" itemscope itemtype="http://schema.org/Article" ><div class="featured-image-preview">
            <a href="/posts/glang3/"><img
        class="lazyload"
        src="/svg/loading.min.svg"
        data-src="https://img-blog.csdnimg.cn/img_convert/f58e3cdfd042ae0db6a192022d83a1ac.png#pic_center"
        data-srcset="https://img-blog.csdnimg.cn/img_convert/f58e3cdfd042ae0db6a192022d83a1ac.png#pic_center, https://img-blog.csdnimg.cn/img_convert/f58e3cdfd042ae0db6a192022d83a1ac.png#pic_center 1.5x, https://img-blog.csdnimg.cn/img_convert/f58e3cdfd042ae0db6a192022d83a1ac.png#pic_center 2x"
        data-sizes="auto"
        alt="https://img-blog.csdnimg.cn/img_convert/f58e3cdfd042ae0db6a192022d83a1ac.png#pic_center"
        title="Go语言编码规范和性能调优" /></a>
        </div><h2 class="single-title" itemprop="name headline">
        <a href="/posts/glang3/">Go语言编码规范和性能调优</a>
    </h2><div class="post-meta"><span class="post-author"><a href="/" title="Author" rel=" author" class="author"><i class="fas fa-user-circle fa-fw"></i>作者</a></span>&nbsp;<span class="post-publish">发布于 <time datetime="2022-05-11">2022-05-11</time></span>&nbsp;<span class="post-category">包括在 <a href="/categories/%E9%9D%92%E8%AE%AD%E8%90%A5%E7%AC%94%E8%AE%B0/"><i class="far fa-folder fa-fw"></i>青训营笔记</a></span></div><a class="content" href="/posts/glang3/">编码规范 注释 Good code has lots of comments,bad code requires lots of comments. 不必要的注释 场景一 如上图所示，第一个Open函数应该解释代码作用，而第二个函数这样的作用解释则毫无必要，因</a><div class="post-footer"><ul class="post-tags"><li><a href="/tags/go%E8%AF%AD%E8%A8%80%E7%BC%96%E7%A0%81%E8%A7%84%E8%8C%83%E5%92%8C%E6%80%A7%E8%83%BD%E8%B0%83%E4%BC%98/">Go语言编码规范和性能调优</a></li></ul></div>
</article>
<article class="summary" itemscope itemtype="http://schema.org/Article" ><div class="featured-image-preview">
            <a href="/posts/golang-note2/"><img
        class="lazyload"
        src="/svg/loading.min.svg"
        data-src="https://img-blog.csdnimg.cn/img_convert/30474f138a1fd099890cfcb17099a60b.png#pic_center"
        data-srcset="https://img-blog.csdnimg.cn/img_convert/30474f138a1fd099890cfcb17099a60b.png#pic_center, https://img-blog.csdnimg.cn/img_convert/30474f138a1fd099890cfcb17099a60b.png#pic_center 1.5x, https://img-blog.csdnimg.cn/img_convert/30474f138a1fd099890cfcb17099a60b.png#pic_center 2x"
        data-sizes="auto"
        alt="https://img-blog.csdnimg.cn/img_convert/30474f138a1fd099890cfcb17099a60b.png#pic_center"
        title="这是我参与「第三届青训营 -后端场」笔记创作活动的的第二篇笔记。" /></a>
        </div><h2 class="single-title" itemprop="name headline">
        <a href="/posts/golang-note2/">Go语言工程实践（二） | 青训营笔记</a>
    </h2><div class="post-meta"><span class="post-author"><a href="/" title="Author" rel=" author" class="author"><i class="fas fa-user-circle fa-fw"></i>作者</a></span>&nbsp;<span class="post-publish">发布于 <time datetime="2022-05-08">2022-05-08</time></span>&nbsp;<span class="post-category">包括在 <a href="/categories/%E9%9D%92%E8%AE%AD%E8%90%A5%E7%AC%94%E8%AE%B0/"><i class="far fa-folder fa-fw"></i>青训营笔记</a></span></div><a class="content" href="/posts/golang-note2/">这是我参与「第三届青训营 -后端场」笔记创作活动的的第二篇笔记。 并发和Goroutine 并发和并行的区别 并发可能更多的是精确到语言的逻辑，也就</a><div class="post-footer"><ul class="post-tags"><li><a href="/tags/go%E5%B7%A5%E7%A8%8B%E5%AE%9E%E8%B7%B5/">Go工程实践</a></li></ul></div>
</article>
<article class="summary" itemscope itemtype="http://schema.org/Article" ><div class="featured-image-preview">
            <a href="/posts/%E4%B8%80go%E8%AF%AD%E8%A8%80%E4%B8%8A%E6%89%8B-%E9%9D%92%E8%AE%AD%E8%90%A5%E7%AC%94%E8%AE%B0/"><img
        class="lazyload"
        src="/svg/loading.min.svg"
        data-src="https://img-blog.csdnimg.cn/img_convert/acea126d07748d6630f37b1b481e5d73.png#pic_center"
        data-srcset="https://img-blog.csdnimg.cn/img_convert/acea126d07748d6630f37b1b481e5d73.png#pic_center, https://img-blog.csdnimg.cn/img_convert/acea126d07748d6630f37b1b481e5d73.png#pic_center 1.5x, https://img-blog.csdnimg.cn/img_convert/acea126d07748d6630f37b1b481e5d73.png#pic_center 2x"
        data-sizes="auto"
        alt="https://img-blog.csdnimg.cn/img_convert/acea126d07748d6630f37b1b481e5d73.png#pic_center"
        title="这是我参与「第三届青训营 -后端场」笔记创作活动的的第一篇笔记。" /></a>
        </div><h2 class="single-title" itemprop="name headline">
        <a href="/posts/%E4%B8%80go%E8%AF%AD%E8%A8%80%E4%B8%8A%E6%89%8B-%E9%9D%92%E8%AE%AD%E8%90%A5%E7%AC%94%E8%AE%B0/">Go语言上手（一） | 青训营笔记</a>
    </h2><div class="post-meta"><span class="post-author"><a href="/" title="Author" rel=" author" class="author"><i class="fas fa-user-circle fa-fw"></i>作者</a></span>&nbsp;<span class="post-publish">发布于 <time datetime="2022-05-07">2022-05-07</time></span>&nbsp;<span class="post-category">包括在 <a href="/categories/%E9%9D%92%E8%AE%AD%E8%90%A5%E7%AC%94%E8%AE%B0/"><i class="far fa-folder fa-fw"></i>青训营笔记</a></span></div><a class="content" href="/posts/%E4%B8%80go%E8%AF%AD%E8%A8%80%E4%B8%8A%E6%89%8B-%E9%9D%92%E8%AE%AD%E8%90%A5%E7%AC%94%E8%AE%B0/">这是我参与「第三届青训营 -后端场」笔记创作活动的的第一篇笔记。 语法速览 基础语法 基础语法有几点需要注意： 第一：类型 有值类型，有指针，指针只能作</a><div class="post-footer"><ul class="post-tags"><li><a href="/tags/go%E8%AF%AD%E8%A8%80%E4%B8%8A%E6%89%8B/">Go语言上手</a></li></ul></div>
</article>
<article class="summary" itemscope itemtype="http://schema.org/Article" ><div class="featured-image-preview">
            <a href="/posts/%E5%AE%9E%E7%8E%B0%E5%AE%9E%E6%97%B6qq%E5%A5%BD%E5%8F%8B%E6%90%9C%E7%B4%A2%E6%A1%86/"><img
        class="lazyload"
        src="/svg/loading.min.svg"
        data-src="https://img-blog.csdnimg.cn/img_convert/526441b9fa37b831c54f8b76bf498cca.png#pic_center"
        data-srcset="https://img-blog.csdnimg.cn/img_convert/526441b9fa37b831c54f8b76bf498cca.png#pic_center, https://img-blog.csdnimg.cn/img_convert/526441b9fa37b831c54f8b76bf498cca.png#pic_center 1.5x, https://img-blog.csdnimg.cn/img_convert/526441b9fa37b831c54f8b76bf498cca.png#pic_center 2x"
        data-sizes="auto"
        alt="https://img-blog.csdnimg.cn/img_convert/526441b9fa37b831c54f8b76bf498cca.png#pic_center"
        title="实现实时qq好友搜索框" /></a>
        </div><h2 class="single-title" itemprop="name headline">
        <a href="/posts/%E5%AE%9E%E7%8E%B0%E5%AE%9E%E6%97%B6qq%E5%A5%BD%E5%8F%8B%E6%90%9C%E7%B4%A2%E6%A1%86/">实现实时qq好友搜索框</a>
    </h2><div class="post-meta"><span class="post-author"><a href="/" title="Author" rel=" author" class="author"><i class="fas fa-user-circle fa-fw"></i>作者</a></span>&nbsp;<span class="post-publish">发布于 <time datetime="2022-04-24">2022-04-24</time></span>&nbsp;<span class="post-category">包括在 <a href="/categories/bug%E6%97%A5%E8%AE%B0c++%E5%AE%9E%E7%8E%B0qqui%E7%AF%87/"><i class="far fa-folder fa-fw"></i>(bug日记)C++实现QQ——UI篇</a></span></div><a class="content" href="/posts/%E5%AE%9E%E7%8E%B0%E5%AE%9E%E6%97%B6qq%E5%A5%BD%E5%8F%8B%E6%90%9C%E7%B4%A2%E6%A1%86/">项目背景 想要用纯C++实现一个QQ，包括客户端的ui和通信，以及服务端的数据收发通信。 客户端：使用C++的Qt框架实现UI（正在进行），使用</a><div class="post-footer"><ul class="post-tags"><li><a href="/tags/%E5%AE%9E%E7%8E%B0%E5%AE%9E%E6%97%B6qq%E5%A5%BD%E5%8F%8B%E6%90%9C%E7%B4%A2%E6%A1%86/">实现实时qq好友搜索框</a></li></ul></div>
</article>
<article class="summary" itemscope itemtype="http://schema.org/Article" ><div class="featured-image-preview">
            <a href="/posts/1.3-%E9%94%81%E9%87%8A%E6%94%BE%E7%9A%84%E5%8F%A6%E4%B8%80%E7%A7%8D%E5%A7%BF%E5%8A%BF-%E6%9D%A1%E4%BB%B6%E5%8F%98%E9%87%8Fcondition_variable-%E4%BF%A1%E5%8F%B7%E9%87%8Fsemaphore/"><img
        class="lazyload"
        src="/svg/loading.min.svg"
        data-src="https://img-blog.csdnimg.cn/img_convert/385f4cc39feda8590ef42f86b38207ba.png#pic_center"
        data-srcset="https://img-blog.csdnimg.cn/img_convert/385f4cc39feda8590ef42f86b38207ba.png#pic_center, https://img-blog.csdnimg.cn/img_convert/385f4cc39feda8590ef42f86b38207ba.png#pic_center 1.5x, https://img-blog.csdnimg.cn/img_convert/385f4cc39feda8590ef42f86b38207ba.png#pic_center 2x"
        data-sizes="auto"
        alt="https://img-blog.csdnimg.cn/img_convert/385f4cc39feda8590ef42f86b38207ba.png#pic_center"
        title="1.3-多线程控制的另一种姿势-条件变量(condition_variable), 信号量(semaphore)" /></a>
        </div><h2 class="single-title" itemprop="name headline">
        <a href="/posts/1.3-%E9%94%81%E9%87%8A%E6%94%BE%E7%9A%84%E5%8F%A6%E4%B8%80%E7%A7%8D%E5%A7%BF%E5%8A%BF-%E6%9D%A1%E4%BB%B6%E5%8F%98%E9%87%8Fcondition_variable-%E4%BF%A1%E5%8F%B7%E9%87%8Fsemaphore/">1.3-多线程控制的另一种姿势-条件变量(condition_variable), 信号量(semaphore)</a>
    </h2><div class="post-meta"><span class="post-author"><a href="/" title="Author" rel=" author" class="author"><i class="fas fa-user-circle fa-fw"></i>作者</a></span>&nbsp;<span class="post-publish">发布于 <time datetime="2022-03-27">2022-03-27</time></span>&nbsp;<span class="post-category">包括在 <a href="/categories/c++%E5%A4%9A%E7%BA%BF%E7%A8%8B/"><i class="far fa-folder fa-fw"></i>C++多线程</a></span></div><a class="content" href="/posts/1.3-%E9%94%81%E9%87%8A%E6%94%BE%E7%9A%84%E5%8F%A6%E4%B8%80%E7%A7%8D%E5%A7%BF%E5%8A%BF-%E6%9D%A1%E4%BB%B6%E5%8F%98%E9%87%8Fcondition_variable-%E4%BF%A1%E5%8F%B7%E9%87%8Fsemaphore/">条件变量(C++11) 为什么要引入条件变量 我们先来看看一个由互斥量加锁构成的生产者消费者模型： // // Created by Alone on 2022-3-27. // #include &lt;iostream&gt;#include &lt;mutex&gt;#include &lt;deque&gt;#include &lt;thread&gt;std::mutex mtx; std::deque&lt;int&gt; q; // producer void task1(){ int i =</a><div class="post-footer"><ul class="post-tags"><li><a href="/tags/1.3-%E5%A4%9A%E7%BA%BF%E7%A8%8B%E6%8E%A7%E5%88%B6%E7%9A%84%E5%8F%A6%E4%B8%80%E7%A7%8D%E5%A7%BF%E5%8A%BF-%E6%9D%A1%E4%BB%B6%E5%8F%98%E9%87%8Fcondition_variable-%E4%BF%A1%E5%8F%B7%E9%87%8Fsemaphore/">1.3-多线程控制的另一种姿势-条件变量(condition_variable), 信号量(semaphore)</a></li></ul></div>
</article>
<article class="summary" itemscope itemtype="http://schema.org/Article" ><div class="featured-image-preview">
            <a href="/posts/%E5%88%A9%E7%94%A8string_view%E4%BC%98%E5%8C%96%E7%8E%B0%E4%BB%A3c&#43;&#43;%E8%AF%AD%E6%B3%95/"><img
        class="lazyload"
        src="/svg/loading.min.svg"
        data-src="https://img-blog.csdnimg.cn/img_convert/1d3bc0dca5a88ba6649ae7b1041e8cf5.png#pic_center"
        data-srcset="https://img-blog.csdnimg.cn/img_convert/1d3bc0dca5a88ba6649ae7b1041e8cf5.png#pic_center, https://img-blog.csdnimg.cn/img_convert/1d3bc0dca5a88ba6649ae7b1041e8cf5.png#pic_center 1.5x, https://img-blog.csdnimg.cn/img_convert/1d3bc0dca5a88ba6649ae7b1041e8cf5.png#pic_center 2x"
        data-sizes="auto"
        alt="https://img-blog.csdnimg.cn/img_convert/1d3bc0dca5a88ba6649ae7b1041e8cf5.png#pic_center"
        title="利用string_view优化C&#43;&#43;的string" /></a>
        </div><h2 class="single-title" itemprop="name headline">
        <a href="/posts/%E5%88%A9%E7%94%A8string_view%E4%BC%98%E5%8C%96%E7%8E%B0%E4%BB%A3c&#43;&#43;%E8%AF%AD%E6%B3%95/"></a>
    </h2><div class="post-meta"><span class="post-author"><a href="/" title="Author" rel=" author" class="author"><i class="fas fa-user-circle fa-fw"></i>作者</a></span>&nbsp;<span class="post-publish">发布于 <time datetime="2022-03-24">2022-03-24</time></span>&nbsp;<span class="post-category">包括在 <a href="/categories/%E7%8E%B0%E4%BB%A3c++%E8%AF%AD%E6%B3%95/"><i class="far fa-folder fa-fw"></i>现代C++语法</a></span></div><a class="content" href="/posts/%E5%88%A9%E7%94%A8string_view%E4%BC%98%E5%8C%96%E7%8E%B0%E4%BB%A3c&#43;&#43;%E8%AF%AD%E6%B3%95/">一、背景 在日常C/C++编程中，我们常进行数据的传递操作，比如，将数据传给函数。当数据占用的内存较大时，减少数据的拷贝可以有效提高程序的性能</a><div class="post-footer"><ul class="post-tags"><li><a href="/tags/%E5%88%A9%E7%94%A8string_view%E4%BC%98%E5%8C%96string/">利用string_view优化string</a></li></ul></div>
</article>
<article class="summary" itemscope itemtype="http://schema.org/Article" ><div class="featured-image-preview">
            <a href="/posts/%E9%98%85%E8%AF%BBredis%E6%BA%90%E7%A0%81%E5%AE%9E%E7%8E%B0%E8%B7%B3%E8%A1%A8/"><img
        class="lazyload"
        src="/svg/loading.min.svg"
        data-src="https://img-blog.csdnimg.cn/img_convert/8db816efd6abe83538c4d47108d9c840.png#pic_center"
        data-srcset="https://img-blog.csdnimg.cn/img_convert/8db816efd6abe83538c4d47108d9c840.png#pic_center, https://img-blog.csdnimg.cn/img_convert/8db816efd6abe83538c4d47108d9c840.png#pic_center 1.5x, https://img-blog.csdnimg.cn/img_convert/8db816efd6abe83538c4d47108d9c840.png#pic_center 2x"
        data-sizes="auto"
        alt="https://img-blog.csdnimg.cn/img_convert/8db816efd6abe83538c4d47108d9c840.png#pic_center"
        title="通过阅读Redis源码简单实现跳表" /></a>
        </div><h2 class="single-title" itemprop="name headline">
        <a href="/posts/%E9%98%85%E8%AF%BBredis%E6%BA%90%E7%A0%81%E5%AE%9E%E7%8E%B0%E8%B7%B3%E8%A1%A8/">通过阅读Redis源码简单实现跳表</a>
    </h2><div class="post-meta"><span class="post-author"><a href="/" title="Author" rel=" author" class="author"><i class="fas fa-user-circle fa-fw"></i>作者</a></span>&nbsp;<span class="post-publish">发布于 <time datetime="2022-03-19">2022-03-19</time></span>&nbsp;<span class="post-category">包括在 <a href="/categories/%E6%89%8B%E5%86%99%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84/"><i class="far fa-folder fa-fw"></i>手写数据结构</a></span></div><a class="content" href="/posts/%E9%98%85%E8%AF%BBredis%E6%BA%90%E7%A0%81%E5%AE%9E%E7%8E%B0%E8%B7%B3%E8%A1%A8/">什么是跳表？ 想要弄清这个，可以查看一篇大佬的文章，把跳表分析的非常透彻，并且剖析了Redis源码，我这里只讲解不带span的Redis源码C</a><div class="post-footer"><ul class="post-tags"><li><a href="/tags/%E9%80%9A%E8%BF%87%E9%98%85%E8%AF%BBredis%E6%BA%90%E7%A0%81%E7%AE%80%E5%8D%95%E5%AE%9E%E7%8E%B0%E8%B7%B3%E8%A1%A8/">通过阅读Redis源码简单实现跳表</a></li></ul></div>
</article>
<article class="summary" itemscope itemtype="http://schema.org/Article" ><div class="featured-image-preview">
            <a href="/posts/%E5%AE%8F%E5%92%8C%E6%A8%A1%E6%9D%BF%E7%9A%84%E5%AF%B9%E6%AF%94%E9%A2%84%E7%BC%96%E8%AF%91%E5%92%8C%E7%BC%96%E8%AF%91%E7%9A%84%E8%BE%83%E9%87%8F/"><img
        class="lazyload"
        src="/svg/loading.min.svg"
        data-src="https://img-blog.csdnimg.cn/img_convert/f58e3cdfd042ae0db6a192022d83a1ac.png#pic_center"
        data-srcset="https://img-blog.csdnimg.cn/img_convert/f58e3cdfd042ae0db6a192022d83a1ac.png#pic_center, https://img-blog.csdnimg.cn/img_convert/f58e3cdfd042ae0db6a192022d83a1ac.png#pic_center 1.5x, https://img-blog.csdnimg.cn/img_convert/f58e3cdfd042ae0db6a192022d83a1ac.png#pic_center 2x"
        data-sizes="auto"
        alt="https://img-blog.csdnimg.cn/img_convert/f58e3cdfd042ae0db6a192022d83a1ac.png#pic_center"
        title="宏和模板的对比——预编译和编译的较量" /></a>
        </div><h2 class="single-title" itemprop="name headline">
        <a href="/posts/%E5%AE%8F%E5%92%8C%E6%A8%A1%E6%9D%BF%E7%9A%84%E5%AF%B9%E6%AF%94%E9%A2%84%E7%BC%96%E8%AF%91%E5%92%8C%E7%BC%96%E8%AF%91%E7%9A%84%E8%BE%83%E9%87%8F/">宏和模板的对比——预编译和编译的较量</a>
    </h2><div class="post-meta"><span class="post-author"><a href="/" title="Author" rel=" author" class="author"><i class="fas fa-user-circle fa-fw"></i>作者</a></span>&nbsp;<span class="post-publish">发布于 <time datetime="2022-03-05">2022-03-05</time></span>&nbsp;<span class="post-category">包括在 <a href="/categories/c++%E5%BA%95%E5%B1%82%E5%8E%9F%E7%90%86/"><i class="far fa-folder fa-fw"></i>C++底层原理</a></span></div><a class="content" href="/posts/%E5%AE%8F%E5%92%8C%E6%A8%A1%E6%9D%BF%E7%9A%84%E5%AF%B9%E6%AF%94%E9%A2%84%E7%BC%96%E8%AF%91%E5%92%8C%E7%BC%96%E8%AF%91%E7%9A%84%E8%BE%83%E9%87%8F/">本文默认你已经拥有基本的gcc编译选项知识，如果没有，可以看看这篇文章 程序的编译过程gcc版。 从预编译的角度对比宏定义和模板 来测测宏定义 大家</a><div class="post-footer"><ul class="post-tags"><li><a href="/tags/%E5%AE%8F%E5%92%8C%E6%A8%A1%E6%9D%BF%E7%9A%84%E5%AF%B9%E6%AF%94%E9%A2%84%E7%BC%96%E8%AF%91%E5%92%8C%E7%BC%96%E8%AF%91%E7%9A%84%E8%BE%83%E9%87%8F/">宏和模板的对比——预编译和编译的较量</a></li></ul></div>
</article>
<article class="summary" itemscope itemtype="http://schema.org/Article" ><div class="featured-image-preview">
            <a href="/posts/1.1-%E5%88%9B%E5%BB%BA%E7%BA%BF%E7%A8%8Bthread%E7%BA%BF%E7%A8%8B%E7%9A%84%E6%B1%87%E8%81%9Ajoin%E7%BA%BF%E7%A8%8B%E7%9A%84%E5%88%86%E7%A6%BBdetach/"><img
        class="lazyload"
        src="/svg/loading.min.svg"
        data-src="https://img-blog.csdnimg.cn/img_convert/c592952aec4e1c875073f2a3d970cde5.png#pic_center"
        data-srcset="https://img-blog.csdnimg.cn/img_convert/c592952aec4e1c875073f2a3d970cde5.png#pic_center, https://img-blog.csdnimg.cn/img_convert/c592952aec4e1c875073f2a3d970cde5.png#pic_center 1.5x, https://img-blog.csdnimg.cn/img_convert/c592952aec4e1c875073f2a3d970cde5.png#pic_center 2x"
        data-sizes="auto"
        alt="https://img-blog.csdnimg.cn/img_convert/c592952aec4e1c875073f2a3d970cde5.png#pic_center"
        title="1.1-创建线程(thread)、线程的汇聚(join)、线程的分离(detach)" /></a>
        </div><h2 class="single-title" itemprop="name headline">
        <a href="/posts/1.1-%E5%88%9B%E5%BB%BA%E7%BA%BF%E7%A8%8Bthread%E7%BA%BF%E7%A8%8B%E7%9A%84%E6%B1%87%E8%81%9Ajoin%E7%BA%BF%E7%A8%8B%E7%9A%84%E5%88%86%E7%A6%BBdetach/">1.1-创建线程(thread)、线程的汇聚(join)、线程的分离(detach)</a>
    </h2><div class="post-meta"><span class="post-author"><a href="/" title="Author" rel=" author" class="author"><i class="fas fa-user-circle fa-fw"></i>作者</a></span>&nbsp;<span class="post-publish">发布于 <time datetime="2022-03-02">2022-03-02</time></span>&nbsp;<span class="post-category">包括在 <a href="/categories/c++%E5%A4%9A%E7%BA%BF%E7%A8%8B/"><i class="far fa-folder fa-fw"></i>C++多线程</a></span></div><a class="content" href="/posts/1.1-%E5%88%9B%E5%BB%BA%E7%BA%BF%E7%A8%8Bthread%E7%BA%BF%E7%A8%8B%E7%9A%84%E6%B1%87%E8%81%9Ajoin%E7%BA%BF%E7%A8%8B%E7%9A%84%E5%88%86%E7%A6%BBdetach/">创建线程(thread)分析程序报错原因 头文件：include&lt;thread&gt; 理解线程的创建运行过程 你可以试着运行下面这段代码，</a><div class="post-footer"><ul class="post-tags"><li><a href="/tags/1.1-%E5%88%9B%E5%BB%BA%E7%BA%BF%E7%A8%8Bthread%E7%BA%BF%E7%A8%8B%E7%9A%84%E6%B1%87%E8%81%9Ajoin%E7%BA%BF%E7%A8%8B%E7%9A%84%E5%88%86%E7%A6%BBdetach/">1.1-创建线程(thread)、线程的汇聚(join)、线程的分离(detach)</a></li></ul></div>
</article>
<article class="summary" itemscope itemtype="http://schema.org/Article" ><div class="featured-image-preview">
            <a href="/posts/1.2-%E7%BA%BF%E7%A8%8B%E5%AE%89%E5%85%A8%E7%9A%84%E4%BF%9D%E8%AF%81%E4%BA%92%E6%96%A5%E9%87%8F%E9%94%81%E5%92%8C%E5%8E%9F%E5%AD%90%E5%8F%98%E9%87%8F/"><img
        class="lazyload"
        src="/svg/loading.min.svg"
        data-src="https://img-blog.csdnimg.cn/img_convert/f58e3cdfd042ae0db6a192022d83a1ac.png#pic_center"
        data-srcset="https://img-blog.csdnimg.cn/img_convert/f58e3cdfd042ae0db6a192022d83a1ac.png#pic_center, https://img-blog.csdnimg.cn/img_convert/f58e3cdfd042ae0db6a192022d83a1ac.png#pic_center 1.5x, https://img-blog.csdnimg.cn/img_convert/f58e3cdfd042ae0db6a192022d83a1ac.png#pic_center 2x"
        data-sizes="auto"
        alt="https://img-blog.csdnimg.cn/img_convert/f58e3cdfd042ae0db6a192022d83a1ac.png#pic_center"
        title="1.2-线程安全的保证——互斥量(锁)和原子变量" /></a>
        </div><h2 class="single-title" itemprop="name headline">
        <a href="/posts/1.2-%E7%BA%BF%E7%A8%8B%E5%AE%89%E5%85%A8%E7%9A%84%E4%BF%9D%E8%AF%81%E4%BA%92%E6%96%A5%E9%87%8F%E9%94%81%E5%92%8C%E5%8E%9F%E5%AD%90%E5%8F%98%E9%87%8F/">1.2-线程安全的保证——互斥量mutex(锁)和原子变量atomic</a>
    </h2><div class="post-meta"><span class="post-author"><a href="/" title="Author" rel=" author" class="author"><i class="fas fa-user-circle fa-fw"></i>作者</a></span>&nbsp;<span class="post-publish">发布于 <time datetime="2022-03-02">2022-03-02</time></span>&nbsp;<span class="post-category">包括在 <a href="/categories/c++%E5%A4%9A%E7%BA%BF%E7%A8%8B/"><i class="far fa-folder fa-fw"></i>C++多线程</a></span></div><a class="content" href="/posts/1.2-%E7%BA%BF%E7%A8%8B%E5%AE%89%E5%85%A8%E7%9A%84%E4%BF%9D%E8%AF%81%E4%BA%92%E6%96%A5%E9%87%8F%E9%94%81%E5%92%8C%E5%8E%9F%E5%AD%90%E5%8F%98%E9%87%8F/">资源竞争引发的线程安全问题 有如下的代码： #include&lt;thread&gt;#include&lt;iostream&gt;int globalVariable = 0; void task(){ for (int i = 0; i &lt; 1000000; ++i) { ++globalVariable; } } int main(){ std::thread th1(task); std::thread th2(task); th1.join(); th2.join(); std::cout&lt;&lt;globalVariable; } 我们开了两个线程，一共执行了两次 task ，按理来</a><div class="post-footer"><ul class="post-tags"><li><a href="/tags/1.2-%E7%BA%BF%E7%A8%8B%E5%AE%89%E5%85%A8%E7%9A%84%E4%BF%9D%E8%AF%81%E4%BA%92%E6%96%A5%E9%87%8F%E9%94%81%E5%92%8C%E5%8E%9F%E5%AD%90%E5%8F%98%E9%87%8F/">1.2-线程安全的保证——互斥量(锁)和原子变量</a></li></ul></div>
</article>
<article class="summary" itemscope itemtype="http://schema.org/Article" ><div class="featured-image-preview">
            <a href="/posts/%E5%A2%9E%E9%87%8F%E5%85%83%E7%B4%A0%E4%B9%8B%E9%97%B4%E7%9A%84%E6%9C%80%E5%A4%A7%E5%B7%AE%E5%80%BC%E5%89%8D%E7%BC%80dp/"><img
        class="lazyload"
        src="/svg/loading.min.svg"
        data-src="https://img-blog.csdnimg.cn/img_convert/daefa95e021376b822b5938e65b8252b.png#pic_center"
        data-srcset="https://img-blog.csdnimg.cn/img_convert/daefa95e021376b822b5938e65b8252b.png#pic_center, https://img-blog.csdnimg.cn/img_convert/daefa95e021376b822b5938e65b8252b.png#pic_center 1.5x, https://img-blog.csdnimg.cn/img_convert/daefa95e021376b822b5938e65b8252b.png#pic_center 2x"
        data-sizes="auto"
        alt="https://img-blog.csdnimg.cn/img_convert/daefa95e021376b822b5938e65b8252b.png#pic_center"
        title="增量元素之间的最大差值——前缀dp" /></a>
        </div><h2 class="single-title" itemprop="name headline">
        <a href="/posts/%E5%A2%9E%E9%87%8F%E5%85%83%E7%B4%A0%E4%B9%8B%E9%97%B4%E7%9A%84%E6%9C%80%E5%A4%A7%E5%B7%AE%E5%80%BC%E5%89%8D%E7%BC%80dp/">增量元素之间的最大差值——前缀dp</a>
    </h2><div class="post-meta"><span class="post-author"><a href="/" title="Author" rel=" author" class="author"><i class="fas fa-user-circle fa-fw"></i>作者</a></span>&nbsp;<span class="post-publish">发布于 <time datetime="2022-02-26">2022-02-26</time></span>&nbsp;<span class="post-category">包括在 <a href="/categories/%E7%AE%97%E6%B3%95%E5%8A%A8%E6%80%81%E8%A7%84%E5%88%92/"><i class="far fa-folder fa-fw"></i>算法——动态规划</a></span></div><a class="content" href="/posts/%E5%A2%9E%E9%87%8F%E5%85%83%E7%B4%A0%E4%B9%8B%E9%97%B4%E7%9A%84%E6%9C%80%E5%A4%A7%E5%B7%AE%E5%80%BC%E5%89%8D%E7%BC%80dp/">题目 题目链接 题目解析 法一：暴力枚举 此题由于是简单题，所以直接可以暴力枚举。暴力枚举的时候我们也可以考虑优化一下，比如外层枚举 $nums[i]$ 的时候，内层直</a><div class="post-footer"><ul class="post-tags"><li><a href="/tags/%E5%A2%9E%E9%87%8F%E5%85%83%E7%B4%A0%E4%B9%8B%E9%97%B4%E7%9A%84%E6%9C%80%E5%A4%A7%E5%B7%AE%E5%80%BC%E5%89%8D%E7%BC%80dp/">增量元素之间的最大差值——前缀dp</a></li></ul></div>
</article>
<article class="summary" itemscope itemtype="http://schema.org/Article" ><div class="featured-image-preview">
            <a href="/posts/bitset%E4%B8%8E%E5%9F%83%E6%B0%8F%E7%AD%9B/"><img
        class="lazyload"
        src="/svg/loading.min.svg"
        data-src="https://img-blog.csdnimg.cn/img_convert/2319540b52ba53f88ff0afbf5cabb92c.png#pic_center"
        data-srcset="https://img-blog.csdnimg.cn/img_convert/2319540b52ba53f88ff0afbf5cabb92c.png#pic_center, https://img-blog.csdnimg.cn/img_convert/2319540b52ba53f88ff0afbf5cabb92c.png#pic_center 1.5x, https://img-blog.csdnimg.cn/img_convert/2319540b52ba53f88ff0afbf5cabb92c.png#pic_center 2x"
        data-sizes="auto"
        alt="https://img-blog.csdnimg.cn/img_convert/2319540b52ba53f88ff0afbf5cabb92c.png#pic_center"
        title="bitset与埃氏筛" /></a>
        </div><h2 class="single-title" itemprop="name headline">
        <a href="/posts/bitset%E4%B8%8E%E5%9F%83%E6%B0%8F%E7%AD%9B/">bitset与埃氏筛</a>
    </h2><div class="post-meta"><span class="post-author"><a href="/" title="Author" rel=" author" class="author"><i class="fas fa-user-circle fa-fw"></i>作者</a></span>&nbsp;<span class="post-publish">发布于 <time datetime="2022-02-22">2022-02-22</time></span>&nbsp;<span class="post-category">包括在 <a href="/categories/c++%E5%AE%9E%E6%88%98/"><i class="far fa-folder fa-fw"></i>C++实战</a></span></div><a class="content" href="/posts/bitset%E4%B8%8E%E5%9F%83%E6%B0%8F%E7%AD%9B/">bitset 介绍 std::bitset 是标准库中的一个存储 0/1 的大小不可变容器。严格来讲，它并不属于 STL。 bitset 并不属于 STL，而是一种标准库中的 &ldquo;Special Container&rdq</a><div class="post-footer"><ul class="post-tags"><li><a href="/tags/bitset%E4%B8%8E%E5%9F%83%E6%B0%8F%E7%AD%9B/">bitset与埃氏筛</a></li></ul></div>
</article>
<article class="summary" itemscope itemtype="http://schema.org/Article" ><div class="featured-image-preview">
            <a href="/posts/k%E7%AB%99%E4%B8%AD%E8%BD%AC%E5%86%85%E6%9C%80%E4%BE%BF%E5%AE%9C%E7%9A%84%E8%88%AA%E7%8F%AD-bellmanford%E7%AE%97%E6%B3%95%E5%92%8Cspfa%E7%AE%97%E6%B3%95%E7%9A%84%E6%94%B9%E9%80%A0/"><img
        class="lazyload"
        src="/svg/loading.min.svg"
        data-src="https://img-blog.csdnimg.cn/img_convert/18d027e6aa9fbe6cb650bbfce5b1ce53.png#pic_center"
        data-srcset="https://img-blog.csdnimg.cn/img_convert/18d027e6aa9fbe6cb650bbfce5b1ce53.png#pic_center, https://img-blog.csdnimg.cn/img_convert/18d027e6aa9fbe6cb650bbfce5b1ce53.png#pic_center 1.5x, https://img-blog.csdnimg.cn/img_convert/18d027e6aa9fbe6cb650bbfce5b1ce53.png#pic_center 2x"
        data-sizes="auto"
        alt="https://img-blog.csdnimg.cn/img_convert/18d027e6aa9fbe6cb650bbfce5b1ce53.png#pic_center"
        title="k站中转内最便宜的航班--BellmanFord算法和SPFA算法的改造" /></a>
        </div><h2 class="single-title" itemprop="name headline">
        <a href="/posts/k%E7%AB%99%E4%B8%AD%E8%BD%AC%E5%86%85%E6%9C%80%E4%BE%BF%E5%AE%9C%E7%9A%84%E8%88%AA%E7%8F%AD-bellmanford%E7%AE%97%E6%B3%95%E5%92%8Cspfa%E7%AE%97%E6%B3%95%E7%9A%84%E6%94%B9%E9%80%A0/">k站中转内最便宜的航班--BellmanFord算法和SPFA算法的改造</a>
    </h2><div class="post-meta"><span class="post-author"><a href="/" title="Author" rel=" author" class="author"><i class="fas fa-user-circle fa-fw"></i>作者</a></span>&nbsp;<span class="post-publish">发布于 <time datetime="2022-02-22">2022-02-22</time></span>&nbsp;<span class="post-category">包括在 <a href="/categories/%E7%AE%97%E6%B3%95%E6%9C%80%E7%9F%AD%E8%B7%AF%E9%97%AE%E9%A2%98/"><i class="far fa-folder fa-fw"></i>算法——最短路问题</a></span></div><a class="content" href="/posts/k%E7%AB%99%E4%B8%AD%E8%BD%AC%E5%86%85%E6%9C%80%E4%BE%BF%E5%AE%9C%E7%9A%84%E8%88%AA%E7%8F%AD-bellmanford%E7%AE%97%E6%B3%95%E5%92%8Cspfa%E7%AE%97%E6%B3%95%E7%9A%84%E6%94%B9%E9%80%A0/">题目 oj平台 BellmanFord算法的动态规划解决(效率一般) 看到k站内，肯定会想到 BellmanFord 算法的动态规划解法，本来优化成按边遍历的动态规划可以</a><div class="post-footer"><ul class="post-tags"><li><a href="/tags/k%E7%AB%99%E4%B8%AD%E8%BD%AC%E5%86%85%E6%9C%80%E4%BE%BF%E5%AE%9C%E7%9A%84%E8%88%AA%E7%8F%AD-bellmanford%E7%AE%97%E6%B3%95%E5%92%8Cspfa%E7%AE%97%E6%B3%95%E7%9A%84%E6%94%B9%E9%80%A0/">k站中转内最便宜的航班--BellmanFord算法和SPFA算法的改造</a></li></ul></div>
</article>
<ul class="pagination"><li class="page-item ">
                    <span class="page-link">
                        <a href="/">1</a>
                    </span>
                </li><li class="page-item ">
                    <span class="page-link">
                        <a href="/page/2/">2</a>
                    </span>
                </li><li class="page-item ">
                    <span class="page-link">
                        <a href="/page/3/">3</a>
                    </span>
                </li><li class="page-item active">
                    <span class="page-link">
                        <a href="/page/4/">4</a>
                    </span>
                </li><li class="page-item ">
                    <span class="page-link">
                        <a href="/page/5/">5</a>
                    </span>
                </li><li class="page-item ">
                    <span class="page-link">
                        <a href="/page/6/">6</a>
                    </span>
                </li><li class="page-item ">
                    <span class="page-link">
                        <a href="/page/7/">7</a>
                    </span>
                </li></ul></div></div></div>
            </main>
            <footer class="footer"><div class="footer-container"><div class="footer-line">由 <a href="https://gohugo.io/" target="_blank" rel="noopener noreffer" title="Hugo 0.86.0">Hugo</a> 强力驱动 | 主题 - <a href="https://github.com/khusika/FeelIt" target="_blank" rel="noopener noreffer" title="FeelIt 1.0.1"><i class="fas fa-hand-holding-heart fa-fw"></i> FeelIt</a>
        </div><div class="footer-line" itemscope itemtype="http://schema.org/CreativeWork"><i class="far fa-copyright fa-fw"></i><span itemprop="copyrightYear">2023</span><span class="author" itemprop="copyrightHolder">&nbsp;<a href="/"></a></span></div>
</div>
</footer>
        </div>

        <div id="fixed-buttons"><a href="#" id="back-to-top" class="fixed-button" title="回到顶部">
                <i class="fas fa-chevron-up fa-fw"></i>
            </a></div><link rel="stylesheet" href="/lib/fontawesome-free/all.min.css"><link rel="stylesheet" href="/lib/animate/animate.min.css"><script src="/lib/autocomplete/autocomplete.min.js"></script><script src="/lib/lunr/lunr.min.js"></script><script src="/lib/lunr/lunr.stemmer.support.min.js"></script><script src="/lib/lunr/lunr.zh.min.js"></script><script src="/lib/lazysizes/lazysizes.min.js"></script><script src="/lib/typeit/typeit.min.js"></script><script>window.config={"code":{"maxShownLines":200},"data":{"id-1":"\u003cdiv style='color: rgb(153, 153, 153)'\u003e独属于 \u003ca href='https://blog.csdn.net/m0_50945504' target='_blank'\u003eL_B__\u003c/a\u003e 的笔记小站\u003c/div\u003e"},"search":{"highlightTag":"em","lunrIndexURL":"/index.json","lunrLanguageCode":"zh","lunrSegmentitURL":"/lib/lunr/lunr.segmentit.js","maxResultLength":100,"noResultsFound":"没有找到结果","snippetLength":50,"type":"lunr"},"typeit":{"cursorChar":null,"cursorSpeed":null,"data":{"id-1":["id-1"]},"duration":null,"speed":null}};</script><script src="/js/theme.min.js"></script></body></html>
